Cloud-computing facilities provide computational bandwidth and data-storage services much as utility companies provide electrical power and water to consumers. Cloud computing provides enormous advantages to customers without the devices to purchase, manage, and maintain in-house data centers. Such customers can dynamically add and delete virtual computer systems from their virtual data centers within public clouds in order to track computational-bandwidth and data-storage needs, rather than purchasing sufficient computer systems within a physical data center to handle peak computational-bandwidth and data-storage demands. Moreover, customers can completely avoid the overhead of maintaining and managing physical computer systems, including hiring and periodically retraining information-technology specialists and continuously paying for operating-system and database-management-system upgrades. Furthermore, cloud-computing interfaces allow for easy and straightforward configuration of virtual computing facilities, flexibility in the types of applications and operating systems that can be configured, and other functionalities that are useful even for owners and administrators of private cloud-computing facilities used by a customer.
In order to maintain a data center infrastructure and satisfy the computational and data storage demands of customers, data center managers typically rely on cloud management products to monitor operation of the data center infrastructure. But most cloud management products do not adequately bridge the gap between defined data center infrastructure problems and application performance problems. For example, a number of cloud management products allow customers to manually select the types of abnormal conditions that customers perceive as precursors to important deviations from normal operations of their respective applications and receive alerts when abnormal conditions arise. Other cloud management products allow customers to define an alert definition workspace and alert workflow to follow when abnormal conditions occur. By allowing customers to select the types of abnormal conditions in advance assumes that the customer-defined abnormal conditions will also impact data center operations that are worth paying attention to and as a result provide a user-controlled warning system. However, customer-defined abnormal conditions do not identify objects of the data center, such as virtual and physical machine components, that may be responsible for abnormal operations of their applications. Moreover, a customer-define abnormal conditions creates issues in terms of unrealistic manual and ad-hoc configuration efforts for large-scale data centers that are not tractable by expert knowledge. As a result, customer-defined abnormal conditions may increase the risk of high rates of missed and false negative alerts with respect to data center operations.